1. Field of Invention
The invention is related generally to development tools and more specifically to providing process guidance in connection with development tools.
2. Discussion of Related Art
Software tools and applications often contain help systems to provide information to a user about functions associated with a tool or application. A help system may be invoked when a user requests help, e.g., when the user pushes the F1 button on a computer keyboard or clicks on a help pull-down menu. When the help system is invoked, it may display for the user one or more help topics related to functions of the tool or application. In some help systems, help may be accessed by entering a query. In response to the query, the help system may respond with a list of help topics and/or information related to using various functions of the tool or application.
A word processor is one example of an application that contains a help system. While using the word processing application, the user may desire help, for example, as to how to use formatting commands included in the word processing application to achieve a particular page format. The user may invoke the word processing application's help system by pressing the F1 key, for example. The user may then use the help system to obtain instructions on using the formatting commands. In some help systems, the help system may be invoked automatically, for example, when the application is run for the first time.
In some help systems, the system may provide for specific help based on the context of the application. In the above word processing example, the user help system may be programmed to recognize when the user may be typing a letter. In response to recognizing this user action, the help system may display help information related to typing a letter. For example, the help system may inquire whether the user desires help for writing the letter. The help system may help the user write the letter by providing information related to functions and/or commands in the word processing application which may be useful.
Process guidance is considered by those working on a project and/or a project manager who plans a project. Process guidance may be a set of guidelines for working on the project including, for example, a list of tasks that need to be completed, the types and numbers of persons that should work on a project, the persons to whom certain tasks should be assigned, reports that should be generated for a project manager, etc. Process guidance may be in the form of a book or other printed material, a website with a list of guidelines, etc.
A process model may codify preferred standards and practices for projects of a certain type. For example, a software development project may use a process model based the Software Process Engineering Metamodel (SPEM) developed by the Object Management Group (OMG). SPEM is based on the Unified Modeling Language (UML) which is a graphical language used for modeling discrete systems.